<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui" template="/paginas/template.xhtml">

	<ui:define name="corpoForm">
		

		<f:event type="javax.faces.event.PreRenderComponentEvent"
			listener="#{manterVendaBean.preRenderEdit}" />
		<h:form id="formEditarVenda" prependId="false">

			<p:panelGrid columns="2" styleClass="botoes" id="botoes">
				<p:commandButton value="#{rsc.label_cancelar}" styleClass="botao"
					ajax="false" action="#{manterVendaBean.cancelarVenda}"
					update=":growl"
					rendered="#{manterVendaBean.entidade.tipoVenda.codigo == 2  and manterVendaBean.entidade.statusVenda.codigo == 1}"
					process="@form" title="#{rsc.title_cancelarVenda}" />

				<p:commandButton value="#{rsc.label_imprimir}" ajax="false"
					styleClass="botao"
					actionListener="#{manterVendaBean.imprimirVenda}" update=":growl"
					process="@form" title="#{rsc.title_cancelarVenda}" />

			</p:panelGrid>

			<p:panel id="pnlEditarVenda" header="#{rsc.label_informacoesBasicas}"
				toggleable="true" toggleSpeed="500">
				<p:panelGrid columns="2" styleClass="full-width">
					<p:panelGrid columns="3">

						<p:outputLabel value="#{rsc.label_tipoVenda}"
							styleClass="obrigatorio" for="cmbTipoVenda" />

						<p:outputLabel value="#{rsc.label_dataVenda}" for="cldDataVenda" />

						<p:outputLabel value="#{rsc.label_dataEntrega}"
							for="cldDataEntrega" />


						<p:selectOneMenu label="#{rsc.label_tipoVenda}" disabled="true"
							style="width: 170px"
							value="#{manterVendaBean.entidade.tipoVenda}" id="cmbTipoVenda">
							<f:selectItems value="#{manterVendaBean.formulario.tiposVenda}"
								var="c" itemLabel="#{c.label}" itemValue="#{c}" />
							<p:ajax event="change"
								listener="#{manterVendaBean.validarQuantidadeVenda}"
								update=":growl" />
						</p:selectOneMenu>

						<p:calendar pattern="dd/MM/yyyy" size="15" showOn="button"
							disabled="true" id="cldDataVenda"
							value="#{manterVendaBean.entidade.dataVenda}" />

						<p:calendar pattern="dd/MM/yyyy" size="15" showOn="button"
							disabled="true" id="cldDataEntrega"
							value="#{manterVendaBean.entidade.dataEntrega}" />


						<p:outputLabel value="#{rsc.label_frete}" for="txtFrete" />

						<p:outputLabel value="#{rsc.label_seguro}" for="txtSeguro" />

						<p:outputLabel value="#{rsc.label_outrasDespesas}"
							for="txtOutrasDespesas" />

						<p:inputText label="#{rsc.label_frete}" id="txtFrete"
							styleClass="moeda" title="#{rsc.label_frete}"
							converter="bigDecimalConverter" disabled="true"
							value="#{manterVendaBean.entidade.frete}">
							<p:ajax event="blur" listener="#{manterVendaBean.calcularTotal}"
								update=":formEditarVenda:lblValorBruto" />
						</p:inputText>

						<p:inputText label="#{rsc.label_seguro}" id="txtSeguro"
							styleClass="moeda" title="#{rsc.label_seguro}" disabled="true"
							converter="bigDecimalConverter"
							value="#{manterVendaBean.entidade.seguro}">
							<p:ajax event="blur" listener="#{manterVendaBean.calcularTotal}"
								update=":formEditarVenda:lblValorBruto" />
						</p:inputText>

						<p:inputText label="#{rsc.label_outrasDespesas}"
							id="txtOutrasDespesas" styleClass="moeda"
							converter="bigDecimalConverter" disabled="true"
							title="#{rsc.label_outrasDespesas}"
							value="#{manterVendaBean.entidade.despesas}">
							<p:ajax event="blur" listener="#{manterVendaBean.calcularTotal}"
								update=":formEditarVenda:lblValorBruto" />
						</p:inputText>

					</p:panelGrid>

					<p:panelGrid columns="1">
						<p:outputLabel value="#{rsc.label_observacao}"
							for="txtObservacaoVenda" />

						<p:inputTextarea rows="4" cols="43"
							label="#{rsc.label_observacao}" maxlength="10" disabled="true"
							value="#{manterVendaBean.entidade.nome}" autoResize="false"
							id="txtObservacaoVenda" />
					</p:panelGrid>
				</p:panelGrid>
			</p:panel>



			<p:panel id="pnlProdutosVenda" header="#{rsc.label_produtos}"
				toggleable="true" toggleSpeed="500">

				<p:dataTable emptyMessage="#{msg.nenhumRegistroEncontrado}"
					var="vendaProduto" id="listaProdutos" widgetVar="listaProdutosWid"
					value="#{manterVendaBean.entidade.vendaProdutos}">

					<p:column headerText="#{rsc.label_codigo}"
						styleClass="centralizado">
						<p:outputLabel value="#{vendaProduto.produto.id}" />
					</p:column>

					<p:column headerText="#{rsc.label_produto}">
						<p:outputLabel value="#{vendaProduto.produto.nome}" />
					</p:column>

					<p:column headerText="#{rsc.label_qtdVenda}"
						styleClass="centralizado">
						<p:cellEditor>
							<f:facet name="output">
								<h:outputText value="#{vendaProduto.quantidade}"
									converter="numericoFracaoConverter" />
							</f:facet>
							<f:facet name="input">
								<p:inputText value="#{vendaProduto.quantidade}" size="10"
									converter="numericoFracaoConverter" />
							</f:facet>
						</p:cellEditor>
					</p:column>

					<p:column headerText="#{rsc.label_qtdEstoque}"
						styleClass="centralizado">
						<h:outputText value="#{vendaProduto.produto.estoque.quantidade}"
							converter="numericoFracaoConverter" />
					</p:column>

					<p:column headerText="#{rsc.label_reservado}"
						styleClass="centralizado">
						<h:outputText
							value="#{vendaProduto.produto.estoque.quantidadeReservada}"
							converter="numericoFracaoConverter" />
					</p:column>

					<p:column headerText="#{rsc.label_produto}">
						<h:outputText converter="bigDecimalConverter"
							value="#{vendaProduto.produto.precoVenda}" />
					</p:column>

					<p:column headerText="#{rsc.label_total}">
						<h:outputText converter="bigDecimalConverter"
							value="#{vendaProduto.total}" />
					</p:column>
				</p:dataTable>

			</p:panel>

			<p:panel id="pnlPagamento" header="#{rsc.label_totais}"
				toggleable="true" toggleSpeed="500">

				<p:panelGrid columns="4">
					<p:panelGrid>
						<p:outputLabel value="#{rsc.label_tipoPagamento}"
							styleClass="obrigatorio" for="cmbTipoPagamento" />
						<p:selectOneMenu label="#{rsc.label_tipoPagamento}"
							style="width: 170px" disabled="true"
							value="#{manterVendaBean.entidade.pagamento.tipoPagamento}"
							id="cmbTipoPagamento">
							<p:ajax event="change" update="pnlParcelas" process="@this" />
							<f:selectItem itemLabel="#{rsc.label_selecionar}" itemValue="" />
							<f:selectItems
								value="#{manterVendaBean.formulario.tiposPagamento}" var="c"
								itemLabel="#{c.label}" itemValue="#{c}" />
						</p:selectOneMenu>
					</p:panelGrid>
					<p:panelGrid id="pnlParcelas">
						<p:outputLabel value="#{rsc.label_nrParcelas}"
							rendered="#{manterVendaBean.entidade.pagamento.tipoPagamento.codigo == 2}"
							styleClass="obrigatorio" for="cmbNumeroParcelas" />
						<p:selectOneMenu label="#{rsc.label_parcelas}" disabled="true"
							rendered="#{manterVendaBean.entidade.pagamento.tipoPagamento.codigo == 2}"
							style="width: 120px"
							value="#{manterVendaBean.entidade.pagamento.parcelas}"
							id="cmbNumeroParcelas">
							<f:selectItem itemLabel="#{rsc.label_selecionar}" itemValue="" />
							<f:selectItems value="#{manterVendaBean.formulario.parcelas}"
								var="c" itemLabel="#{c.quantidade}" itemValue="#{c.quantidade}" />
						</p:selectOneMenu>
					</p:panelGrid>
					<p:panelGrid>
						<p:outputLabel value="#{rsc.label_formaPagamento}"
							styleClass="obrigatorio" for="cmbFormaPagamento" />

						<p:selectOneMenu label="#{rsc.label_formaPagamento}"
							style="width: 160px" disabled="true"
							value="#{manterVendaBean.entidade.pagamento.formaPagamento}"
							id="cmbFormaPagamento">
							<f:selectItem itemLabel="#{rsc.label_selecionar}" itemValue="" />
							<f:selectItems
								value="#{manterVendaBean.formulario.formasPagamento}" var="c"
								itemLabel="#{c.label}" itemValue="#{c}" />
						</p:selectOneMenu>
					</p:panelGrid>

					<p:panelGrid columns="2">
						<p:panelGrid columns="1">
							<p:outputLabel value="#{rsc.label_tipoDesconto}"
								for="cmbTipoDesconto" />

							<p:selectOneMenu label="#{rsc.label_tipoDesconto}"
								style="width: 140px" disabled="true"
								value="#{manterVendaBean.entidade.pagamento.tipoDesconto}"
								id="cmbTipoDesconto">
								<p:ajax event="change" oncomplete="recarregarJS();"
									update="pnlDescontos" process="@this" />
								<f:selectItem itemLabel="#{rsc.label_selecionar}" itemValue="" />
								<f:selectItems
									value="#{manterVendaBean.formulario.tiposDesconto}" var="c"
									itemLabel="#{c.label}" itemValue="#{c}" />
							</p:selectOneMenu>
						</p:panelGrid>
						<p:panelGrid columns="1" id="pnlDescontos">
							<p:outputLabel value="#{rsc.label_valorPercentual}"
								rendered="#{manterVendaBean.entidade.pagamento.tipoDesconto.codigo == 1}"
								for="txtValorPercentual" />

							<p:outputLabel value="#{rsc.label_valor}"
								rendered="#{manterVendaBean.entidade.pagamento.tipoDesconto.codigo == 2}"
								for="txtValor" />

							<p:inputText
								value="#{manterVendaBean.entidade.pagamento.valorDesconto}"
								id="txtValorPercentual" disabled="true"
								rendered="#{manterVendaBean.entidade.pagamento.tipoDesconto.codigo == 1}"
								converter="bigDecimalConverter" styleClass="percentual">
								<p:ajax event="blur" listener="#{manterVendaBean.calcularTotal}"
									update=":formEditarVenda:lblValorBruto" />
							</p:inputText>


							<p:inputText
								value="#{manterVendaBean.entidade.pagamento.valorDesconto}"
								disabled="true"
								rendered="#{manterVendaBean.entidade.pagamento.tipoDesconto.codigo == 2}"
								id="txtValor" converter="bigDecimalConverter" styleClass="moeda">
								<p:ajax event="blur" listener="#{manterVendaBean.calcularTotal}"
									update=":formEditarVenda:lblValorBruto" />
							</p:inputText>

						</p:panelGrid>
					</p:panelGrid>
				</p:panelGrid>

				<p:panelGrid columns="2" styleClass="grid-cash">
					<p:panelGrid columns="1"
						style="width: 100% !important; height: 45px !important;"
						styleClass="grid-cash-left"></p:panelGrid>
					<p:panelGrid columns="2" styleClass="grid-cash-right">
						<p:panelGrid columns="2">
							<h:outputText styleClass="cash-text"
								value="#{rsc.label_totalBruto}:" />
							<h:outputText styleClass="cash-value"
								converter="bigDecimalConverter" id="lblValorBruto"
								disabled="true" value="#{manterVendaBean.entidade.valorBruto}" />
						</p:panelGrid>
						<p:panelGrid columns="3" id="pnlValorParcelas"
							styleClass="cash-extra">
							<h:outputText
								value="#{manterVendaBean.entidade.pagamento.parcelas}x "
								rendered="#{manterVendaBean.entidade.pagamento.tipoPagamento.codigo == 2}" />
							<h:outputText value="#{rsc.label_moeda}"
								rendered="#{manterVendaBean.entidade.pagamento.tipoPagamento.codigo == 2}" />
							<h:outputText id="lblValorParcelas"
								converter="bigDecimalConverter"
								value="#{manterVendaBean.entidade.pagamento.valorParcelas}"
								rendered="#{manterVendaBean.entidade.pagamento.tipoPagamento.codigo == 2}" />
						</p:panelGrid>
					</p:panelGrid>
				</p:panelGrid>
			</p:panel>

		</h:form>
	</ui:define>
</ui:composition>

